// vuex类型
export interface State {
  name: string
  navBarCollaps: Boolean
}

// 定义对象元素类型
export interface typeObject<T> {
  [index: string]: T
}

export type typeArray<T> = T[]

// 用户信息类型
export interface userDate {
  name: string
}

// 路由标签对象类型
export type routeTages = {
  path: string
  fixed?: boolean
}[]

// objectconfig
export interface objectConfig {
  objectName: string
  envConfig: {
    VITE_APP_NAME: string
    VITE_APP_BASEKEY: string
    VITE_APP_PERMISSION_FLAG: boolean
    VITE_APP_BIND_LOGIN_IN_PRODUCTION: boolean
    VITE_APP_BIND_CONTEXTMENU: boolean
    VITE_APP_REPLACE_MODLE: boolean
    VITE_APP_BREADCRUMB_SHOW: boolean
    VITE_APP_TAGSVIEW_SHOW: boolean
    VITE_APP_CURRENT_LAYOUT: string
    VITE_APP_ALIVE_PAGE_LIST: string
    VITE_APP_AUTO_ZOOM: boolean
    VITE_APP_AUTO_ZOOM_LIMIT: number
    VITE_APP_ZOOM_BUTTON: boolean
    VITE_APP_HEAD_IMAGE_SHOW: boolean
    VITE_APP_PAGE_ANIMATE: boolean
    VITE_APP_MOCK_SERVER: boolean
    VITE_APP_DEBUG: boolean
    VITE_APP_INPUTRULES: typeObject<object>
    VITE_APP_OPTIONKEYS: typeObject<string | number>
  }
  developmentConfig: {
    VITE_APP_URL: string
    outputDir: string
    [index: string]: string | number | object
  }
  productionConfig: {
    VITE_APP_URL: string
    outputDir: string
    [index: string]: string | number | object
  }
  layoutConfig: {
    fileName: string
    openZoom: boolean
  }[]
}
